/**
 * 防止按钮重复点击事件，控制仅可以一次，使用定时器控制5秒后再次可用
 * 在按钮控件上添加v-once-click指令即可
 * 使用示例：
 * <el-button @click="handleReset" v-once-click>确 定</el-button>
 */
import Vue from 'vue'

const onceClick = Vue.directive('onceClick', {
  inserted: function (el, binding) {
    el.addEventListener('click', () => {
      if (!el.disabled) {
        el.disabled = true
        setTimeout(() => {
          el.disabled = false
        }, binding.value || 5000)
      }
    })
  }
});

export {
  onceClick
}
